package Java.BlackHorse.Regex;

public class RegexDemo3 {
    public static void main(String[] args) {
        //  \转义字符 改变字符原本的含义
        System.out.println("\"");//改变了引号的含义，使它变成一个普通的字符

        //. 表示任意 一个 字符
        System.out.println("----------1----------");
        System.out.println("你".matches(".."));//false
        System.out.println("你好".matches(".."));//true

        // \d 表示任意的 一个 数字
        System.out.println("----------2----------");
        System.out.println("a".matches("\\d"));//false
        System.out.println("1".matches("\\d"));//true
        System.out.println("11".matches("\\d"));//false

        // \w 表示任意 一个 单词字符 => [a-zA-Z_0-9]
        System.out.println("----------3----------");
        System.out.println("z".matches("\\w"));//true
        System.out.println("0".matches("\\w"));//true
        System.out.println("_".matches("\\w"));//true
        System.out.println("你".matches("\\w"));//false
        System.out.println("00".matches("\\w"));//false

        // \W 表示任意 一个 非单词字符 => [^a-zA-Z_0-9]
        System.out.println("----------4----------");
        System.out.println("你".matches("\\W"));//true
        System.out.println("0".matches("\\W"));//false
        System.out.println("_".matches("\\W"));//false


        //必须是数组 字母 下划线 至少6位 \\w{6,}
        System.out.println("----------5----------");
        System.out.println("2wf234_".matches("\\w{6,}"));//true
        System.out.println("2wf4_".matches("\\w{6,}"));//false
        System.out.println("你好".matches("\\w{6,}"));//true

        //必须是数字和字符 必须是4位
        System.out.println("----------6----------");
        System.out.println("23dF".matches("[a-zA-Z0-9]{4}"));//true
        System.out.println("23_F".matches("[a-zA-Z0-9]{4}"));//false
        System.out.println("23dF".matches("[\\w&&[^_]]{4}"));//true
        System.out.println("23_F".matches("[\\w&&[^_]]{4}"));//false


    }
}
